package cn.bdqn.mapper;

import cn.bdqn.pojo.ItripComment;
import cn.bdqn.vo.ItripListCommentVO;
import cn.bdqn.vo.ItripScoreCommentVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface ItripCommentMapper {
    /**
     * 根据主键id删除
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Long id);

    /**
     * 增加信息
     * @param record
     * @return
     */
    int insert(ItripComment record);

    /**
     * 按需添加
     * @param record
     * @return
     */
    int insertSelective(ItripComment record);

    /**
     *根据id查询信息
     * @param id
     * @return
     */
    ItripComment selectByPrimaryKey(Long id);

    /**
     * 按需修改
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(ItripComment record);

    /**
     * 修改text内容
     * @param record
     * @return
     */
    int updateByPrimaryKeyWithBLOBs(ItripComment record);

    /**
     * 修改全部
     * 反向生成 跟updateByPrimaryKeyWithBLOBs 的sql语句一模一样？
     * @param record
     * @return
     */
    int updateByPrimaryKey(ItripComment record);

    List<ItripListCommentVO> selectAllMessageByHotelId(Map map);


    int selectAllMessageCountByHotelId(Map map);

    List<ItripScoreCommentVO> getCommentAvgScore(@Param(value = "hotelId") Long hotelId) ;

    Integer getItripCommentCountByMap(Map<String,Object> param);



    /**
     * 增加信息 sql语句没有id
     * @param itripComment
     * @return
     * @throws Exception
     */
    public Long insertItripComment(ItripComment itripComment)throws Exception;
}